package org.eclipse.gittab.fretboard.internal;

import org.eclipse.gittab.fretboard.Fretboard.Configuration;
import org.eclipse.gittab.fretboard.Fretboard.FretboardListener;

/**
 * Factory for creating {@link IFretboardPainter}s.
 * 
 * @author mtreitle
 * 
 */
public interface IFretboardPainterFactory {

	/**
	 * Creates a {@link IFretboardPainter} according the configuration that is
	 * responsible for painting the fretboard and doing all graphical
	 * interaction stuff.
	 * 
	 * @param configuration
	 * @return
	 */
	public IFretboardPainter createFretboardPainter(FretboardListener listener, Configuration configuration);

}
